#pragma warning disable 108
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using Cephei;
using Cephei.Core;
using Cephei.Core.Generic;
using Microsoft.FSharp.Core;
using Cephei.QL.Times;
using Cephei.QL.Termstructures;
using Cephei.QL.Indexes;
using Cephei.QL;
namespace Cephei.QL.Indexes.Ibor
{
    /// <summary> 
	/// ! Euro LIBOR fixed by BBA.  See <http://www.bba.org.uk/bba/jsp/polopoly.jsp?d=225&a=1414>.  \warning This is the rate fixed in London by BBA. Use Euribor if you're interested in the fixing by the ECB.
	/// </summary>
    [Guid ("D450587B-3371-4c3b-91D9-56D1552CB3B7"),ComVisible(true)]
	public interface IEURLibor : Cephei.QL.Indexes.IIborIndex
	{
		///////////////////////////////////////////////////////////////
        // Methods
        //
        /// <summary> 
		/// 
		/// </summary>
		 DateTime MaturityDate(DateTime valueDate);
        /// <summary> 
		/// 
		/// </summary>
		 DateTime ValueDate(DateTime fixingDate);
    }   

    /// <summary> 
	/// ! Euro LIBOR fixed by BBA.  See <http://www.bba.org.uk/bba/jsp/polopoly.jsp?d=225&a=1414>.  \warning This is the rate fixed in London by BBA. Use Euribor if you're interested in the fixing by the ECB. Factory
	/// </summary>
   	[ComVisible(true)]
    public interface IEURLibor_Factory 
    {
        ///////////////////////////////////////////////////////////////
        // Factory methods
        //
        /// <summary> 
		/// 
		/// </summary>
	    IEURLibor Create (Cephei.QL.Times.IPeriod tenor, Cephei.QL.Termstructures.IYieldTermStructure h);
        /// <summary> 
		/// ASC091217 Allow construction with default null parameter
		/// </summary>
	    IEURLibor Create (Cephei.QL.Times.IPeriod tenor);
    }
}

